1) Field of the Invention
The present invention relates to a buffer and a method of diagnosing buffer failure, and more particularly, to a buffer and a method of diagnosing buffer failure where a failure can be diagnosed during an ordinary operation without depending on a load situation.
2) Description of the Related Art
Conventionally, a plurality of registers in a buffer stores data input while sequentially shifting the data. The buffer selects data from among the data stored in the registers based on a predetermined priority, and outputs the data while detecting an error in the data. FIG. 7 is a block diagram of a configuration of a conventional buffer 10b. FIGS. 8A to 8G are diagrams of an operation example of the buffer 10b shown in FIG. 7.
As shown in FIG. 7, in the buffer 10b, a data input unit 100 inputs data, registers 110 to 117 stores the data input while sequentially shifting from the register 117 that is arranged closest to a data output unit 120 to the register 110 to 116, and an output-data selecting unit 130 that selects data with higher priority from among the data stored in the registers 110 to 117 to extract the data selected. For example, as shown in FIG. 8F, when the data output unit 120 outputs data A0 stored in the register 117, data A1 is shifted from the register 116 to the register 117, which has output the data A0. At a same time, a data-error detecting unit 140 detects an error in the data A0. It can be assumed that there is no failure in registers through which the data A0 has been shifted if an error is not detected in the data A0.
Once a register outputs a data, a data that is stored in a following register is shifted to the register. Therefore, unless the buffer 10b becomes full with data, a register that is situated close to the data input unit 100 is not used. A test that is performed before shipping to diagnose if there is failure in registers has been carried out creating high load conditions in the buffer 10b. However, the buffer 10b depends on not only a load but also various factors such as a system configuration or an operation timing of other devices. For example, in usual operations of a recent large scale server, since a system configuration or operation timing dynamically changes, there is a possibility that failure in a register that has been missed to be detected in the test becomes revealed as being used. Thus, in the conventional buffer, it is impossible to diagnose the buffer during normal operation, without depending on the load conditions.
For example, Japanese Patent Application Laid-Open No. H8-314816 discloses a conventional technology in which after a buffer is once disabled and registers are made full with data, the buffer is enabled to diagnose if there is failure in the buffer.
In the above conventional technology, it is possible to diagnose if there is failure in the buffer, once disabling the buffer and making the registers full with data, and then enabling the buffer. However, it is impossible to diagnose if there is failure in the buffer during normal operation, without depending on load conditions.